package com.zjsru.plan2024.oneday;

/**
 * @Author: cookLee
 * @Date: 2024-03-18
 */
public class NumArray {

    int[] sums;

    /**
     * num数组
     *
     * @param nums nums
     */
    public NumArray(int[] nums) {
        int len = nums.length;
        //sums[i] 表示数组 nums 从下标0 到下标 i−1 的前缀和。
        this.sums = new int[len + 1];
        for (int i = 0; i < len; i++) {
            this.sums[i + 1] = this.sums[i] + nums[i];
        }
    }

    /**
     * 总和范围
     *
     * @param left  左
     * @param right 右侧
     * @return int
     */
    public int sumRange(int left, int right) {
        return this.sums[right + 1] - this.sums[left];
    }

}
